package com.boco.modules.fdoc.dao;

import java.util.List;
import java.util.Map;

import com.boco.common.annotation.MyBatisDao;
import com.boco.common.persistence.CrudDao;
import com.boco.modules.fdoc.model.ServicepackDetailEntity;
import com.boco.modules.fdoc.model.SigServicepackEntity;
import com.boco.modules.fdoc.vo.ServicepackDetailsVo;
import com.boco.modules.fdoc.vo.ServicepackVo;

@MyBatisDao
public interface SigServicepackDao extends CrudDao<SigServicepackEntity>{
	/**
	 * 根据服务包id获取详细服务列表
	 * @param servicepackId
	 * @return
	 */
	public List<ServicepackDetailsVo> getServicepackDetail(int servicepackId);
	/**
	 * 
	 * getServicePacksByValues:(根据权值获取列表). <br/>
	 * @author q
	 * @param values 服务包权值，以逗号隔开
	 * @return
	 */
	public List<SigServicepackEntity> getServicePacksByValues(Map<String, String> valuesMap);
	/**
	 * 获取服务包总条数
	 * @return
	 */
	public Integer getCount();
	/**
	 * 获取所有包详情
	 * @return
	 */
	public List<ServicepackVo> getAllbyVo(ServicepackVo servicepackVo);
	/**
	 * 新增服务包
	 * @param servicepackEntity
	 * @return
	 */
	public int addPack(SigServicepackEntity servicepackEntity);
	/**
	 * 删除服务包
	 * @param id
	 * @return
	 */
	public int deletePack(Integer id);
	/**
	 * 修改服务包
	 * @param sEntity
	 * @return
	 */
	public int updatePack(SigServicepackEntity sEntity);
	/**
	 * 根据id获取服务包
	 * @param id
	 * @return
	 */
	public SigServicepackEntity getPackbyId(Integer id);
	/**
	 * 根据区划及服务包ID获取服务项目
	 * @param map
	 * @return
	 */
	public List<ServicepackDetailEntity> getDetailList(Map<String, Object> map);
	/**
	 * 分页获取服务详情
	 * Title SigServicepackDao.java
	 * Description: 
	 * @param sVo
	 * @return
	 * @author lzz
	 */
	public List<ServicepackDetailEntity> getDetailListByName(ServicepackDetailsVo sVo);
	/**
	 * 获取服务详情总条数
	 * Title SigServicepackDao.java
	 * Description: 
	 * @param sVo
	 * @return
	 * @author lzz
	 */
	public Integer getDetailListCount(ServicepackDetailsVo sVo);
	/**
	 * 获取最大服务包权值
	 * Title SigServicepackDao.java
	 * Description: 
	 * @return
	 * @author lzz
	 */
	public Integer getMaxValue();
	/**
	 * 根据服务包权值获取服务包详情
	 */
	public ServicepackVo getVoByValue(Integer a);
} 
